\begin{problem}{Циклические сдвиги}{shifts.in}{shifts.out}{2 секунды}{256 мебибайт}

\textit{$k$-м циклическим сдвигом} строки $S$ называется
строка, полученная перестановкой $k$ первых символов строки $S$ в конец строки.

Рассмотрим все различные циклические сдвиги строки $S$ и отсортируем их по возрастанию.
Требуется вычислить $i$-ю строчку этого массива.

Например, для строки \texttt{abacabac} существует четыре различных циклических сдвига:
нулевой (\texttt{abacabac}), первый (\texttt{bacabaca}), второй (\texttt{acabacab}) и
третий (\texttt{cabacaba}). После сортировки по возрастанию получится такой массив:
\texttt{abacabac}, \texttt{acabacab}, \texttt{bacabaca}, \texttt{cabacaba}.

\InputFile

В первой строке входного файла записана строка $S$, длиной не более $100\,000$ 
символов с ASCII-кодами от 32 до 126. Во второй строке содержится единственное
целое число $k$ ($1 \le k \le 100\,000$).

\OutputFile

В выходной файл выведите $k$-й по возрастанию циклический сдвиг строки $S$, или
слово \texttt{IMPOSSIBLE}, если такого сдвига не существует.

\Example

\begin{example}
\exmp{
abacabac
4
}{
cabacaba
}
\exmp{
abacabac
5
}{
IMPOSSIBLE
}%
\end{example}

\end{problem}
